package com.lc.index.domain;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lc.common.annotation.Excel;
import com.lc.index.base.BaseEntity;

/**
 * 存储厨师基本信息对象 lc_chefs
 *
 * @author autoGen
 * @date 2025-03-12
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "存储厨师基本信息")
@TableName("lc_chef")
public class Chef extends BaseEntity
        {

    /** 厨师唯一标识id */
    @TableId(value = "id", type = IdType.AUTO)
    @Schema(description = "PK_lc_chefs")
    @ApiParam(name = "id",value = "PK_lc_chefs")
    private Long id;

    /** 厨师姓名 */
    @Schema(description = "存储厨师基本信息-厨师姓名")
    @ApiParam(name = "chefName",value = "存储厨师基本信息-厨师姓名")
    @Excel(name = "厨师姓名")
    @TableField(value = "`chef_name`")
    private String chefName;

    /** 擅长菜系（川菜='sichuan_cuisine'/粤菜='cantonese_cuisine'） */
    @Schema(description = "存储厨师基本信息-擅长菜系")
    @ApiParam(name = "specialty",value = "存储厨师基本信息-擅长菜系")
    @Excel(name = "擅长菜系" , readConverterExp = "川=菜='sichuan_cuisine'/粤菜='cantonese_cuisine'")
    @TableField(value = "`specialty`")
    private String specialty;

    /** 联系电话 */
    @Schema(description = "存储厨师基本信息-联系电话")
    @ApiParam(name = "phone",value = "存储厨师基本信息-联系电话")
    @Excel(name = "联系电话")
    @TableField(value = "`phone`")
    private String phone;

    /** 厨师头像 */
    @Schema(description = "存储厨师基本信息-厨师头像")
    @ApiParam(name = "avgRating",value = "存储厨师基本信息-厨师头像")
    @Excel(name = "厨师头像")
    @TableField(value = "`avatar`")
    private String avatar;

    /** 平均评分（根据用户评价，范围0.00-5.00） */
    @Schema(description = "存储厨师基本信息-平均评分")
    @ApiParam(name = "avgRating",value = "存储厨师基本信息-平均评分")
    @Excel(name = "平均评分" , readConverterExp = "根据用户评价，范围0.00-5.00")
    @TableField(value = "`avg_rating`")
    private Long avgRating;

    /** 分成比例 */
    @Schema(description = "存储厨师基本信息-分成比例")
    @ApiParam(name = "proportion",value = "存储厨师基本信息-分成比例")
    @Excel(name = "分成比例")
    @TableField(value = "`proportion`")
    private BigDecimal proportion;

    /** 厨师状态（空闲='idle', 服务中='service', 休假='holiday'） */
    @Schema(description = "存储厨师基本信息-厨师状态")
    @ApiParam(name = "status",value = "存储厨师基本信息-厨师状态")
    @Excel(name = "厨师状态" , readConverterExp = "空=闲='idle',,服=务中='service',,休=假='holiday'")
    @TableField(value = "`status`")
    private String status;

    /** 创建时间 */
    @TableField(value = "`create_time`")
    private Date createTime;

    /** 创建人 */
    @TableField(value = "`create_by`", fill = FieldFill.INSERT)
    private String createBy;

    /** 修改时间 */
    @TableField(value = "`update_time`")
    private Date updateTime;

    /** 修改人 */
    @TableField(value = "`update_by`", fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    /** 有效标志1有效0无效(无效数据任何地方不可见) */
    @Schema(description = "存储厨师基本信息-有效标志1有效0无效(无效数据任何地方不可见)")
    @ApiParam(name = "valiFlag",value = "存储厨师基本信息-有效标志1有效0无效(无效数据任何地方不可见)")
    @Excel(name = "有效标志1有效0无效(无效数据任何地方不可见)")
    @TableField(value = "`valid_flag`")
    private Integer validFlag;


}

